
# 序列通用操作
"""
支持: 索引(下标) ,切片 ，相加，相乘 ，包含 操作

1. 索引 ：支持的数据类型有列表 ，元组 ，字符串 。
使用格式 ：seq[index]
说明 ：可以从左侧数，索引是从0开始 ；可以从右侧数 ，索引是从-1开始

2. 切片 ：就是从序列中有规律的去获取若干个元素 ，支持的数据类型有列表 ，元组 ，字符串
使用格式 ：seq[start:end:step]
    start : 开始索引 ，默认值为0
    end : 结束位置， 不包括结束位置，默认值就是序列的长度 ，
    step : 步长，默认值为1
说明

3. 相加和相乘
相加 ： 序列之间进行相加，seq = seq1 + seq2  ,要求 ：两个序列同一数据类型 。
相乘 ： 序列和整数的相乘 ， seq = seq1 * number , 一个序列乘以了一个数 ，就是给这个序列赋值了n个值。

4. 包含 ：就是检查一个元素是否在一个序列中 ,支持的数据类型有列表 ，元组 ，字符串 ,字典
使用格式 : obj in seq
说明 ： 它返回的是bool类型 ，obj在seq里 ，返回的是True ,反之返回是False
备注 ： 若是字典检查，主要检查的是键名。
"""

lst = [1,23,'hello']
tp = (1,23,'hello')
my_str = "abcd12344ddds"

# 获取第二个元素
print(lst[1])
print(tp[1])
print(my_str[1])

print(lst[-3])
print(tp[-3])
print(my_str[-13])

lst5 = ['red','green','blue','black','gold','orange']

print("获取第2-5个元素:",lst5[1:5])
print("获取第2,4,6个元素:",lst5[1:6:2])

print("获取第1,3,5个元素:",lst5[0:6:2])
print("获取第1,3,5个元素:",lst5[::2])
print("获取第3个及后面的元素:",lst5[2:])
print("将列表翻转：",lst5[::-1])
print("获取整个列表",lst5[::])

lst2 = lst + lst5
print("两个列表相加:",lst2)

my_str1 = "kkk"
print("两个字符串相加",my_str1+my_str)

lst3 = [None] * 10
print(lst3)

print("=========================")
print("=" * 30)

tp2 = ('hello',123,'world',222)
dct = {'a':1,'b':20}

print('hello' in tp2)
print('python' in tp2)

print('a' in dct)
print('c' in dct)
print(20 in dct)